using System;
using System.Collections.Generic;
using System.Text;
using DTO;
using DAO;
using System.Data;
using System.Data.SqlClient;

namespace BUS
{
    public class XeBUS
    {
        #region Inserting
        public static bool InsertXe(XeDTO xe)
        {
            if(XeDAO.CheckXeByMaXe(xe.MaXe) == true && LoaiHangDAO.CheckLoaiHangByMa(xe.MaHangXe) == false)
            {
                return false;
            }
            return XeDAO.InsertXe(xe);
        }
        #endregion

        #region Updating
        public static bool UpdateXe(XeDTO xe)
        {
            if(XeDAO.CheckXeByMaXe(xe.MaXe) && LoaiHangDAO.CheckLoaiHangByMa(xe.MaHangXe) == true)
            {
                return XeDAO.UpdateXe(xe);
            }
            return false;
        }
        #endregion

        #region Deleting
        public static bool DeleteXeByMaXe(int MaXe)
        {
            if (XeDAO.CheckXeByMaXe(MaXe))
            {
                return XeDAO.DeleteXeByMaXe(MaXe);
            }
            return false;
        }
        #endregion

        #region Retrieving
        public static DataTable TimTinhTrangGiaoHangTheoThang(int Thang)
        {
            return XeDAO.TimTinhTrangGiaoHangTheoThang(Thang);
        }
        public static void TimNhienLieuTheoThang(int thang, List<String> BienSo,List<int> QuangDuong, List<int> DinhMuc)
        {
            XeDAO.TimNhienLieuTheoThang(thang, BienSo, QuangDuong, DinhMuc);
        }
        public static void TimQuangDuongTheoThang(String BienSo, int Thang, List<String> TenDuong, List<int> Sokm, List<int> ThoiGianDung)
        {
            XeDAO.TimQuangDuongTheoThang(BienSo, Thang, TenDuong, Sokm, ThoiGianDung);
        }
        public static List<XeDTO> SelectXeByLoaiHang(int LoaiHang)
        {
            if(LoaiHangDAO.CheckLoaiHangByMa(LoaiHang))
            {
                return XeDAO.SelectXeByLoaiHang(LoaiHang);
            }
            return null;
        }

        public static List<XeDTO> SelectXeAll()
        {
            return XeDAO.SelectXeAll();
        }

        //ham lay list xe theo loaihang, hangxe, trongtai
        public static List<XeDTO> SelectXeByAll(int maloaihang, int mahangxe, int matrongtai)
        {
            return XeDAO.SelectXeByAll(maloaihang, mahangxe, matrongtai);

        }
        public static XeDTO SelectXeByMaXe(int MaXe)
        {
            if(XeDAO.CheckXeByMaXe(MaXe))
            {
                return null;
            }
            return XeDAO.SelectXeByMaXe(MaXe);
        }
        #endregion
    }
}
